1. Field
This application relates generally to communication, and more specifically to techniques for managing IPv6 addresses between incompatible network configurations.
2. Background
In an Internet Protocol (IP) network, a host communicates with another host via a router. In IP terminology, a “node” is a device that implements IP, a “router” is a node that forwards IP packets not explicitly addressed to itself, and a “host” is a node that is not a router. As used herein, “IP” generically refers to all versions of the Internet Protocol. A host may have one or multiple interfaces to a link. In IP terminology, a “link” is a communication facility or medium over which nodes can communicate at a link layer (which is the layer immediately below IP), and an “interface” is a node's attachment to a link. An interface may be viewed as a network communication port. Each interface is associated with one or more IP addresses that uniquely identify that interface.
Internet Protocol Version 6 (IPv6) is a version of Internet Protocol that is slated to replace the widely used Internet Protocol Version 4 (IPv4). IPv6 resolves some of the key limitations of IPv4. For example, IPv4 utilizes a 32-bit address that was originally thought to provide an ample number of addresses to uniquely identify machines connected to the Internet. However, the explosive growth of the Internet has created a real risk of running out of IPv4 addresses. IPv6 ameliorates this concern by utilizing a 128-bit address.
IPv6 also provides other improvements over IPv4. For example, IPv6 supports “stateless address autoconfiguration”, which is a process whereby a host can automatically configure its own IPv6 address(es). Stateless address configuration can avoid the need to manually configure each host before connection to a network, eliminate the need for a dedicated server to administer and assign addresses to hosts on the network, and facilitate renumbering of addresses for hosts on the network.
The stateless address autoconfiguration in IPv6 allows for nodes to generate multiple addresses, such as “privacy addresses,” as defined in RFC 3041. Addresses are formed by generating a random Interface ID (IID) and associating it with the network prefix of the current access router. When on a broadcast network it is necessary to validate that there is no other node using the newly generated IID. This procedure is called Duplicate Address Detection (DAD). This process of generating and validating addresses can however differ depending upon the type of network connection present. In broadcast networks utilizing stateless address autoconfiguration, two ICMPv6 (Internet Control Message Protocol version 6) packets are defined to facilitate this process, a neighbor solicitation (NS) and a neighbor advertisement (NA). Utilizing these two messages, the DAD process mentioned previously may be performed for standard IPv6 broadcast links. These messages are however insufficient, when connecting devices using incompatible network configurations.
Often external devices rely on mobiles for their network connectivity. Unfortunately there can be issues associated with interfacing some devices with networks that support different address configuration protocols. It would be desirable to have a method for addressing incompatible network configurations.